本文是学习GB-T 32911-2016 软件测试成本度量规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们
本标准规定了软件测试成本的构成、软件测试成本度量的过程、软件测试成本度量的应用。
本标准适用于软件测试项目的成本预算、项目决算以及测试相关合同的编制。
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 18492—2001 信息技术 系统及软件完整性级别
GB/T 25000.51—2010 软件工程 软件产品质量要求与评价(SQuaRE)
商业现货(COTS) 软
件产品的质量要求和测试细则
ISO/IEC 19761 软件工程 COSMIC: 一种功能规模度量方法(Software
engineering—COSMIC:
a functional size measurement method)
ISO/IEC 20926 软件和系统工程 软件度量 IFPUG
功能规模度量方法2009(Software and
systems engineering—Software measurement—IFPUG functional size
measurement method 2009)
ISO/IEC 20968 软件工程 MkⅡ 功能点分析 计数实践手册(Software
engineering—MkⅡ
Function Point Analysis—Counting Practices Manual)
ISO/IEC 24570 软件工程 NESMA 功能规模度量方法2.1版
功能点分析应用定义和计数指 南(Software engineering—NESMA functional size
measurement method version 2.1—Definitions and
counting guidelines for the application of Function Point Analysis)
ISO/IEC 29881 信息技术 系统和软件工程 FiSMA
1.1功能规模度量方法(Information tech-
nology—Systems and software engineering—FiSMA 1.1 functional size
measurement method)
下列术语和定义适用于本文件。
3.1
完整性级别 integrity level
项的某个特性的取值范围的一种表示,该特性的取值范围对系统风险保持在可容忍的限度内是必
需的。
注:改写GB/T 18492—2001,定义3.9。
3.2
软件测试成本 software testing cost
为达成软件测试项目目标所需付出的各种资源代价总和。
注:资源包括人、财、物、信息等。
3.3
自动化测试 automatic testing
机器模拟人为驱动,自动执行测试行为的一种过程。
GB/T 32911—2016
3.4
直接成本 direct cost
为达成软件测试项目目标而直接付出的各种资源代价总和。
示例:如可直接计入软件测试项目成本的直接人工成本、测试环境成本、测试工具成本等。
3.5
间 接 成 本 indirect cost
与达成软件测试项目目标相关,但同一种投入可以支持一个以上项目的联合成本。
示例:如管理人员工资、基础设备折旧、停工损失等。
测试环境成本可包括但不限于下列成本:
——测试所需要的硬件环境的成本;
——测试所需要的软件环境的成本;
——开发测试所需要的硬件环境的成本;
——开发测试所需要的软件环境的成本。
测试工具成本是为测试而购买的测试软件和测试设备的费用以及在测试过程中使用已有设备的折
旧费用和维护费用。测试工具成本包括测试机构自有工具成本和/或租借工具成本:
a) 测试机构自有工具成本可按照如下步骤给出:
1)
计算设备原价:设备原价包括外购设备的成本,包括购买原价、相关税费、运输和安装费
用、服务费等。
2)
确定固定资产使用寿命:确定固定资产使用寿命时应考虑到预计的生产能力;预计有形损
耗和无形损耗;测试工具的授权用户数、版权费、与客户需求的匹配度;法律或相关规定对
固定资产使用的限制。
3) 可选用的折旧方法包括年限平均法、工作量法等:
● 年限平均法:将固定资产按预计使用年限平均计算折旧均衡地分摊到各期。
固定资产年折旧额=固定资产应计折旧额/固定资产预计使用年限
● 工作量法:按照固定资产预计可完成的工作量计算折旧额。
单位工作量折旧额=固定资产应计折旧额/预计总工作量
4) 确定测试工具每年的维护费。
5)
以每年200个工作日计,按照具体的测试工期,分摊每年的折旧费和维护费。
b) 租借工具成本按照具体租借费用另外计算。
4.1.3.1 概述
测试人工成本包括测试项目组成员的工资、奖金、福利等人力资源费用。其中,项目组成员包括参
与该项目测试过程的所有测试或支持人员,如项目经理、需求分析人员、设计人员、测试人员、部署人员、
质量保证人员、配置管理人员等。对于非全职投入该项目测试工作的人员,按照项目工作量所占其总工
GB/T 32911—2016
作量比例折算其人力资源费用。测试人工成本由产品说明评审、用户文档集评审和软件测试3部分
组成。
4.1.3.2 产品说明评审
对软件产品说明进行评审,应按照GB/T
25000.51—2010对产品说明的可用性、内容、标识与标示
等方面进行评审。
4.1.3.3 用户文档集评审
对用户文档集进行评审,应按照GB/T
25000.51—2010对用户文档集的完备性、正确性和一致性
等方面进行评审。
4.1.3.4 软件测试
软件测试工作,按实际工作量(人日)来计算成本。
软件测试工作量可按照以下两种方式进行度量:
a)
依据软件测试生存周期,按照各个阶段给出测试成本。软件测试生存周期包含以下阶段:
1) 测试需求:根据软件需求规格说明确定测试需求;
2) 测试策划:确定测试的内容或质量特性,确定测试的充分性要求;
3)
测试策略或方法的选择:根据测试要求、送测软件文档和测试规范,确定测试的方法;
4)
测试环境准备:准备测试需求的各种环境,测试代码开发,包括设计驱动模块和桩模块;
5) 测试数据准备:测试执行前,为测试能够进行准备一组可以验证的数据;
6) 测试用例开发:测试用例设计,包括自动化测试时的录制和编辑测试脚本;
7)
测试执行:依据测试用例执行软件测试,并记录测试结果,包括手工测试和/或自动化
测试;
8) 测试结果分析:对测试执行过程中所产生的结果输出进行分析;
9) 测试报告编制:整理编制并发布测试报告;
10)
测试评估:对测试进行分析及评审,包括测试的收益、软件将来可能存在的风险。
b) 依据功能点法进行软件规模度量。应按照 ISO/IEC 19761、ISO/IEC
20926、ISO/IEC 20968、 ISO/IEC 24570和 ISO/IEC
29881等标准给出具体的独立可参照的规模方法及度量方法依
据。在给出度量结果时,宜指明所采用的规模度量方法。
针对最终给出的功能点数目,按照每个功能点K 人日来给出测试成本,K
取值应为0.5~1.0。
注:软件规模度量过程中所产生的费用应由送测方承担。
软件测试间接成本包括办公成本和管理成本。
办公成本是测试人员为了测试某个项目而产生的行政办公费用,可包括但不限于下列成本:
——测试场地;
——办公用品;
——通信;
—— 印刷;
GB/T 32911—2016
——会议。
注:办公成本可以包括以上所述的各项产生的费用,但不限于以上几种,本标准的使用者可以对本标准中列出的各
项进行增加、删除和修改。
管理成本是确保测试在软件生存周期内得到顺利实施,并达到预期的效果所产生的费用。管理成
本可包括但不限于下列成本:
——测试团队组织管理成本;
——测试计划管理成本;
——缺陷跟踪管理成本;
——测试文档管理成本;
——测试过程的监控成本。
软件复杂性可以从软件的规模、难度和结构等方面进行度量。软件复杂性的调整因子取值范围如
表1所示。
被测软件的复杂性可按照以下特性来进行度量:
——存在大量的控制或者安全设施;
——系统规模较大,子模块较多且相互影响关联,或需与其他系统对接使用;
— 非简体中文软件;
——存在大量的逻辑处理或处理过程复杂;
——存在大量的数学处理或算法复杂。
表 1 软件复杂性调整因子
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
软件完整性级别是系统完整性级别在包含软件部件或仅包含软件部件或仅包含软件的子系统上的
分配。按照GB/T 18492—2001
给出的软件完整性级别来确定调整因子取值范围,如表2所示。
表 2 软件完整性调整因子
|
|
---|---|
|
|
|
|
|
|
|
|
GB/T 32911—2016
软件本身的复杂性以及测试的特点决定了测试活动中风险的大量存在。可能的测试风险由以下部
分构成:
a) 被测试软件的领域有特殊要求;
b) 测试需求不明确;
c) 被测软件与测试文档不一致;
d) 测试过程中测试方与开发方因沟通等而导致不可预计的风险。
依据上述测试风险,表3给出测试风险调整因子。
表 3 测试风险调整因子
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
回归测试是指修改了旧代码以后,重新进行测试以确认修改没有引入新的错误或导致其他代码发
生错误。回归测试调整因子取值范围:0.6~0.8。
加急测试可能引发增加测试人员或测试人员加班等现象,从而导致测试成本增加。加急测试调整
因子取值范围:1.2~3.0。
现场测试由于测试环境离开了测试实验室会导致额外的成本增加。现场测试调整因子取值范围:
1.0~1.3。
依据评测机构所获得的国家、行业、地方授权的权威资质等进行调整。评测机构资质调整因子取值
范围:1.0~1.2。
在成本估算过程中,应遵循以下原则:
a)
在需求极其模糊或不确定时,宜采用类比法或类推法,直接粗略估算工作量和工期,也可直接
粗略估算成本。
b) 对于有明确工期要求的项目,工期要求可作为调整因子之一。
c) 间接成本宜按直接成本的百分比来计算。
GB/T 32911—2016
d)
工期估算结果与测试人力成本估算结果及其他成本估算结果相互关联并可能互相影响。如工
期估算的结果有可能导致重新估算工作量和测试非人力成本,并最终改变软件测试成本估算
结果。
e) 规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法。
f) 工作量、工期、成本的估算结果宜为一个范围而不是单一的值。
g)
成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生
较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法。
6.1.2.1 估算准备
工作量估算前,应:
a)
对测试项目风险进行充分分析。风险分析时应考虑技术、管理、资源、商业多方面因素。例如:
需求变更、外部协作、时间或成本约束、人力资源、系统架构、用户接口、外购或复用、采用新技
术等。
b) 根据经验或相关性分析结果,确定影响工作量的主要属性: ——应用领域;
——质量要求,如可靠性、易用性、效率、维护性、可移植性等;
——采用技术,如开发平台、编程语言、系统架构、操作系统、测试工具软件等;
——测试团队,如测试方组织类型、团队规模、人员能力等;
— 过程能力,如测试方过程成熟度水平、管理要求等。
c) 选择合适的工作量估算方法。
6.1.2.2 估算与调整
工作量估算时,应根据第5章所述的调整因子进行工作量调整。
宜采用不同的方法分别估算工作量并进行交叉验证。如果不同方法的估算结果产生较大差异,可
采用专家评审方法确定估算结果,也可使用较简单的加权平均方法。
估算工作量时,宜给出估算结果的范围而不是单一的值。
软件测试成本度量可按如下公式计算:
a) 软件测试的人工成本工作量计算如式(1)所示:
UW=TW+SR+DR
式中:
UW— 未调整的软件测试人工工作量,单位为人日;
TW—— 软件测试工作量,单位为人日;
………………………
(1)
SR — 产品说明评审工作量,SR=TW×10%,
DR — 用户文档集评审工作量,DR=TW×20%,
b) 软件测试成本调整因子计算如式(2)所示:
DF=C×I×R×U×X×A×(1+n×T)
式中:
DF — 软件测试成本调整因子;
单位为人日;
单位为人日。
……………………
(2)
GB/T 32911—2016
C 软件复杂性调整因子,取值范围1.0~1.5;
I —— 软件完整性调整因子,取值范围1.0~1.8;
R 测试风险调整因子,取值范围1.0~1.5;
U —— 加急测试调整因子,取值范围1.0~3.0;
X — 现场测试调整因子,取值范围1.0~1.3;
A —— 评测机构资质调整因子,取值范围1.0~1.2;
T,— 回归测试调整因子,取值范围0.6~0.8;
n —— 回归测试次数。
注:因项目变化导致需要重新进行工作量估算时,应根据该变化的影响范围对工作量估算方法及估算结果进
行合理调整。
c) 测试人工成本计算如式(3)所示:
LC=UW×DF XS ……………………………… (3)
式中:
LC — 测试人工成本,单位为元;
UW— 未调整的软件测试人工工作量,单位为人日;
DF ——软件测试成本调整因子;
S — 工作量单价,依据当地平均收入水平调整,单位为元/人日。
d) 测试工具成本计算如式(4)所示:
IC=OT+RT …… ………………… (4)
式中:
IC—— 测试工具成本,单位为元;
OT—— 自有工具成本,参见4.1.2进行度量,单位为元;
RT— 租借工具成本,依据租借费用另行估计,单位为元。
e) 软件测试直接成本计算如式(5)所示:
DC=LC+EC+IC ………………………… (5)
式中:
DC— 直接成本,单位为元;
LC—— 测试人工成本,单位为元;
EC—— 测试环境成本,宜不超过软件测试人工成本的20%,单位为元;
IC —— 测试工具成本,单位为元。
f) 软件测试成本计算如式(6)所示:
STC=DC+IDC ………………………… (6)
式中:
STC— 软件测试成本,单位为元;
DC — 直接成本,单位为元;
IDC— 间接成本,宜不超过直接成本的20%,单位为元。
软件测试成本度量示例参见附录 A。
GB/T 32911—2016
(资料性附录)
度 量 示 例
A.1 概述
本附录给出某软件评测的成本度量示例。
A.2 度量项
表 A.1 给出了软件测试成本度量各项成本及各因子系数的示例。
表 A.1 软件测试成本的各项成本及各因子系数示例
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A.3 测试成本度量
按6.2计算软件测试成本:
a) 软件测试的人工成本工作量计算:
UW=TW+SR+DR=10+1+2=13
style="width:3.09333in" />GB/T 32911—2016
b) 软件测试成本调整因子计算:
DF=C×I×R×U×X×A×(1+n×T)=1.0×1.0×1.0×1.0×1.0×1.0×(1+0.6)= 1.6
c) 测试人工成本计算:
LC=UW×DF×S=13×1.6×1000=20800 (元)
d) 测试工具成本计算:
选用年限平均法,固定资产年折旧额=固定资产应计折旧额/固定资产预计使用年限,测试工
具成本=固定资产年折旧额+维护费用,工具使用每年按200个工作日算,工具实际使用时间
为 5 d:
OT=(1000000/5+1000000×20%)/200×5=10000 (元)
无租借设备:
RT=0 (元)
总的测试工具成本:
IC=OT+RT=10000+0=10000
e) 软件测试直接成本计算:
DC=LC+EC+IC=20800+20800×20%+10000=34960
f) 软件测试成本计算:
STC=DC+IDC=34960+34960×20%=41952
(元)
(元)
(元)
更多内容 可以 GB-T 32911-2016 软件测试成本度量规范. 进一步学习